perm filename SC.TO[P,JRA]1 blob sn#162076 filedate 1975-06-02 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\\M1BASL30\M2BASB30\M3NGR25\M4NGR20\F2\CSTANFORD UNIVERSITY
C00011 ENDMK
C⊗;
\\M1BASL30;\M2BASB30;\M3NGR25;\M4NGR20;\F2\CSTANFORD UNIVERSITY
\F3\CSTANFORD, CALIFORNIA 94305
\F4COMPUTER SCIENCE DEPARTMENT\←L\-R\/'7;\+R\→.\→S   Telephone:
\←S\→.415-497-4971
\F1\CMay 31,1975




Dear Dr Clegg:

\JHum, I have been trying to get hold of you all last week; obviously without 
success.

As to your question about current graduate courses that I'd feel comfortable with:
the are basically the software sections: 310-313 and certainly 301,302 and 304.
I've taught a course like 303 at UCLA, so probably could do that too. 315 and 328
are certainly within my competence and probably by the end of summer 326
would be reasonable. There is a student of mine here who is interested in
doing a PhD thesis on verification of data-base systems.
Concerning 307-308: I've had plenty of experience at the software 
end of computer organization and architecture while building and maintaining
time-sharing systems here at Stanford. I feel I could do a more than
adequate job on theses courses. Indeed, one of the areas which I  feel needs
much work is that of getting the programming requirements conveyed to
future hardware designers. 

I feel qualified to develop several additional courses as well: particularly
on advanced language design, and the general area of the mathematical theory of computation.
I will be running a graduate seminar this summer covering some of the more
recent work on mathematical semantics.
I have been doing research in theorem-proving, automatic programming and
program verification and can supply expertise in these areas.

Now to details. I have got to make some decisions very soon about which way the
next few years will go. I am negotiating with NSF for a reasonably large grant
to do construction of a large interactive programming system; I have spent
the last week talking with the bureaucrats in Washington could expect the grant
in about six months. At the same time I am very interested in restructuring
the way computer science is thought of and taught in the universities.

So I need to make a serious decision very soon: (1)whether to pursue the NSF grant;
It has taken a lot of my time and energy and would draw somewhere around $150,000
for the first year and  larger grants
for the future. (2) to actively pursue a faculty position which would allow me
some freedom to structure a department the way I think it should be done. This second
course would  also draw funding, but initially on a smaller scale.
After the weeks of bureaucratic wrangling with Washington, I currently
favor the second alternative. I enjoy teaching very much and feel that my
background is such that I can do much to improve the quality of computer
science education. 

I therefore need the following kinds of information from you.

I. What kind of position would you be willing to offer me in the department.
I particularly want to be able to start working on a strong undergraduate
program in computer science. For I feel that one of the main problems in
"software engineering" is that we currently are teaching the wrong kinds of material.
I developed a one-year course series at UCLA which took quite naive undergraduates from
basic understanding of algorithms and data structures to a position where they
were reading and understanding current research.
I want to continue that kind of work.

II. I want to be able to pursue my research project to build an interactive
programming system. First it is a crucial part of a good educational
program. The current kinds of programming techinques are incredibly primitive.
Indeed they do much to dissuade the better students from computer science.
My proposal to the NSF explicitly addresses the importance of developing
such tools for undergraduate education. At the same time, a significant
part of my proposal is addressed to the current research areas of computer
science: programming language semantics, specification languages, verification,
and proofs of properites of programs. Indeed the people at NSF are looking at
joint funding between their education branch and their research
branch.  I see several good PhD. topics in the formulation and
implementation of this interactive programming system.

I see my position asfollowing: I will soon publish  a major text book in the
field of foundations of computer science.
The preliminary versions have had excellent reviews by at least a dozen major names
in computer science.
It will be published by McGraw-Hill, a leading  publisher
in computer science field. I can attract a reasonably large research contract;
indeed SRI, UC Santa Cruz, and Stanford's IMSSS are all interested in it.
I have a very diverse background, extending from mathematical logic
to implementation of first-rate practical software systems.
I have worked and done research in this field for the last 15 years, most of
the last 9 years have been in one of the major research institutions
in the world.
I have the desire and the ability to build a strong  department and 
therefore will be able to attract high-caliber students to Santa Clara.
I would like to talk with you about this matter as soon as possible.
\.
\←L\→S\←R\-L\/'2;\+L\→L

Yours sincerely,



John R. Allen
Research Associate
Computer Science Dept
Artificial Intelligence Lab

\←S\→L